1. Field of the Invention
The present invention relates to a method and an apparatus for an inference using frame-based knowledge representation, primarily utilized in the artificial intelligence technology, where various knowledge on an object of interest are collectively stored in a frame, and inference utilizes hierarchical data structure formed by frames interactively and, more particularly, to a method and an apparatus for an inference where a particular slot value of a slot of a frame is derived and cached in accordance with a described procedure.
2. Description of the Prior Art
In the AI(artificial intelligence) technology such as an expert system, knowledge on objects and concepts of interest is managed by a knowledge base, and an inference is carried out by making access to this knowledge base in order to utilize or alter the knowledge managed in it. For this reason, it is necessary for the knowledge base to adopt a knowledge representation which is flexible enough to deal with various operations to be performed with the knowledge. A method known as frame-based knowledge representation is suitable for representing knowledge on an object of interest in a flexible manner which allows easy access and management of the knowledge.
In this frame-based knowledge representation, an object is represented by a frame comprised of slot-slot value pairs. Each slot represents a categorized attribute such as a color, a weight or an expression "is-a", and each slot value represents either a attribute value corresponding to the object such as white or 50g, or a name of a frame representing an object which has the relationship indicated by the categorized attribute in corresponding slot, such as a dog or a bird. Such a slot-slot value pair can accommodate various kinds of information such as a type of an attribute value to be in a particular slot value, a number of slot values, a formula or a procedure to be employed in deriving a slot value when the slot value cannot be found, and a procedure to be followed when a slot value is changed. By structuring knowledge in frames as such, it is possible in the frame-based knowledge representation to realize a representation of knowledge which is expressive and intricate enough to simulate a knowledge structure of a human being to a considerable degree.
An access to a knowledge base is most typically in a form of either changing or referencing. In the case of a referencing, if a slot value to be referenced cannot be found, this slot value is derived by means of a formula or a procedure attached to the slot-slot value pair which refers to the other frames. As a special case of this, a slot value may be deduced by following links provided by "is-a" slots backward to a slot value belonging to a frame representing a broader concept.
As such, a derived slot value often depends on a state of the knowledge base at a time it was derived. However, to carry out such derivations every time some slot values are to be referred to greatly reduces the speed of the inference process. Moreover, it is known empirically that referencing takes place more often than changing in a course of inference.
As a solution to this problem, there is a proposition to-cache- in a derived slot value once it is referred to so that a derivation can be spared in the subsequent occasions of being referred to, and thereby to improve the speed of the inference process. However, such a proposition is troubled by the possibility that the slot value cached in at one time may not be appropriate when it is referred to again at some other time as other slot values utilized in deriving this slot value may have been changed in a intervening time between the two occasions of referencing.
Thus, in the prior art inference process, high-speed and accuracy were not simultaneously achievable.